# 【奇思妙想】Python字符串查找与格式化酷招大放送（共23字！）

# 不懂科技就会落伍！每天进步一点点，今天量子钛又学习了Python的find、format、format_map，欢迎大神们指正错误！

# [钛妹]: 钛哥，我想在一段字符串里找一个特定的单词或字符出现的位置，该怎么办呢？
# [钛哥]: 这就要用到find()方法啦！它会返回找到的第一个索引位置，如果找不到则返回-1哦。

sample_text = "Python is powerful, and Python is fun!"
index_python = sample_text.find("Python")
# [钛妹]: 嗯，让我看看这个索引值是多少？
print("find()示例：", index_python)  # 预期结果是0，因为字符串开头就是"Python"

# [钛妹]: 如果我想把字符串里的某些占位符替换成指定的值，怎么实现呢？
# [钛哥]: 这时候format()就大显身手啦！它能帮我们把大括号{}内的占位符替换成实际数据。

player_name = "Alice"
player_score = 120
formatted_message = "玩家：{}, 得分：{}".format(player_name, player_score)
# [钛妹]: 哇，看起来好神奇，让我瞧瞧结果！
print("format()示例：", formatted_message)

# [钛妹]: 那format_map()又是做什么用的呢？它和format()有什么区别呀？
# [钛哥]: format_map()能让我们直接使用字典来进行格式化，比方说我们有一个包含替换内容的字典，就能更灵活地替换字符串里的占位符啦。

info_dict = {
    "language": "Python",
    "feeling": "wonderful"
}
# [钛哥]: 用format_map()时，只要把这个字典直接丢进去就行。演示如下：
intro_sentence = "学习{language}真的很{feeling}！".format_map(info_dict)
# [钛妹]: 好，让我来看看结果吧！
print("format_map()示例：", intro_sentence)
# [钛哥]: 好了，今天我们通过问答方式学习了三个字符串方法：
# 1. find()：返回指定子字符串在原字符串中的第一个索引位置，如果找不到返回-1
# 2. format()：根据占位符{}将值格式化到字符串中
# 3. format_map()：使用字典直接对字符串中的占位符进行格式化，更加灵活
# 掌握它们后，处理和组合文本就会更得心应手啦！

# [钛妹]: 没错！这些方法用起来很酷，以后我就能更方便地对字符串做各种花式操作了。
print("好啦，这期内容到此结束，你是不是感觉又进步了一点点？点赞关注不迷路！")